package com.mentaleye.biz;

import java.util.Date;
import java.util.List;

import com.mentaleye.bean.TaskDateTimeBean;
import com.mentaleye.bean.WorkTimeBean;

public interface TaskDateBiz {
	
	/**
	 * 获取指定月份的工作日
	 * @param year 年份
	 * @param mouth 月份
	 * @param recess 是否需要判断大小休
	 * @return 返回本年本月的工作日集合
	 */
	public List<Date> getWorkDateByOneMouth(String year,String mouth,boolean recess);
	
	/**
	 * 获取指定月份的节假日
	 * @param year 年份
	 * @param mouth 月份
	 * @return 返回本年本月的节假日集合
	 */
	public List<Date> getHolidaysByYearAndMouth(String year,String mouth);
	
	/**
	 * 判断周六是否休息
	 * @param saturday 传入周六的日期  yyyy-MM-dd
	 * @return 返回 true休息  false上班
	 */
	public boolean getSaturdayIsRest(Date saturday);
	
	/**
	 * 获取指定月的上下班时间
	 * @param mouth 月份
	 * @param id 要查询的部门或班级工作时间的ID
	 * @return 返回工作时间对象集合
	 */
	public List<WorkTimeBean> getWorkTimeByMouth(String mouth,int id);
	
	/**
	 * 获取指定年份月份的所有工作日和工作时间
	 * @param year 年份
	 * @param mouth 月份
	 * @param recess 是否需要判断大小休
	 * @return 返回日期时间实体类
	 */
	public TaskDateTimeBean getWorkDateAndWorkTime(String year,String mouth,boolean recess,int id);
	
	/**
	 * 获取指定日期开始的规定长度的工作日集合
	 * @param dateString 开始日期
	 * @param length 长度
	 * @param recess 是否需要判断大小休
	 * @return 返回对应的日期集合
	 */
	public List<Date> getWorkDateByStringDateAndLength(String dateString,int length,boolean recess);

}
